1. Field of the Invention
The invention relates generally to the design of electronic circuits, and more particularly to systems and methods for hierarchical noise analysis of digital circuits.
2. Related Art
It is typically a necessary step in the process of designing an electronic circuit to perform some sort of noise analysis. In the case of analog circuits, it is necessary to examine the noise-related characteristics of the circuit because the noise typically presents a lower bound on the useful magnitude of a signal. In other words, if the signal is below a particular level, it cannot be reliably distinguished from the noise and therefore has limited usefulness.
While digital circuits often generate more noise than analog circuits, the nature of digital circuits makes them to much of the noise. Both the generated noise and the circuits' immunity from the noise result from the fact that digital circuits make use of quantized signal levels (typically binary.) The quantization of the signal levels results in rapid changes in voltage which create the noise. The quantization of the signal levels can, however, also allow noisy signals to be reliably interpreted as falling within one of the quantized levels.
As digital circuit technology has advanced, such factors as the scaling of circuit components, the increase of clock speeds and the need for reduced power consumption has led to component and circuit designs that are less tolerant of noise. For instance, power consumption may be reduced by decreasing the operating voltages of the components in the circuit, but these decreased voltages cause reduced separation between quantized signal levels, so that the interpretation of a noisy signal as having a particular signal level is less reliable. As another example, increased clock rates require faster component slew times, which increases the amount of noise in the circuit.
Noise analysis of digital circuits has therefore become an increasingly important part of the design process. Similar to other parts of the design process, noise analysis has become increasingly complex as the scale of the designs (e.g., the number of circuit components) increases. It is therefore desirable to provide means to increase the speed and improve the efficiency of noise analyses. One way in which this is accomplished is the use of hierarchical noise analysis.
Hierarchical noise analysis takes advantage of the fact that digital circuit designs typically employ many instances of identical cells, or groups of circuit components. For example, a design may incorporate many identical sense amplifiers to read data from registers, or identical multiplexers to control data flow. Hierarchical noise analysis assumes that the noise analysis for a particular group of circuit components (a cell) will be the same, whether that cell is used in one place in the circuit, or in another place in the circuit. Thus, if a cell is analyzed once, there is no need to analyze that cell again—the result of the first analysis is used for any subsequent instances of the cell within the circuit design. This principle of re-use is applied to each of the cells that occurs multiple times in the circuit design. The re-use of the noise analysis results for identical cells substantially reduces the computational requirements for the noise analysis of the entire circuit design.
While this conventional type of hierarchical noise analysis can require substantially less computational resources than previous noise analysis methodologies, it has several problems of its own. One of these problems is that it assumes that the noise output by an upstream cell is identical to the noise received by a downstream cell. In fact, this is not necessarily true. The noise received by the downstream cell may be affected by such things as the configuration of the wires and terminals between the output of the upstream cell and the input of the downstream cell. The noise may also be affected by factors such as gate leakage at the input terminal of the downstream cell. The failure of conventional hierarchical noise analysis to take these factors into account introduces error into the analysis results.
It would therefore be desirable to provide systems and methods for performing hierarchical noise analysis that does not include errors arising from the assumption that the noise analysis is identical for identical cells whose inputs are connected to different upstream circuit components.